﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows;
using System.Windows.Controls;

namespace Corona.TagPresent
{
    public interface TagInfo
    {
        bool IsSelected
        {
            get;
            set;
        }
        Point Position
        {
            get;
            set;
        }
        String TagType
        {
            get;
            set;
        }
        String TagValue
        {
            get;
            set;
        }
        String Image
        {
            get;
            set;
        }
        double Width
        {
            get;
            set;
        }
        double Height
        {
            get;
            set;
        }
        
    }

    public class TagSelectEventArgs : EventArgs
    {
        List<TagInfo> tagInfoList = null;

        public TagSelectEventArgs() { }
        public TagSelectEventArgs(List<TagInfo> tagInfo)
        {
            tagInfoList = tagInfo;
        }

        public List<TagInfo> TagInfoList
        {
            get { return tagInfoList; }
            set { tagInfoList = value; }
        }
    }

    public class TagEventArgs : EventArgs
    {
        TagInfo tagInfo = null;

        public TagEventArgs() { }
        public TagEventArgs(TagInfo info)
        {
            tagInfo = info;
        }

        public TagInfo TagInfo
        {
            get { return tagInfo; }
            set { tagInfo = value; }
        }
    }

    public class SourceDragOnEventArgs : EventArgs
    {
        String targetString;
        SourceDragOnType type;

        public SourceDragOnType Type
        {
            get { return type; }
            set { type = value; }
        }

        public String TargetString
        {
            get { return targetString; }
            set { targetString = value; }
        }

        public SourceDragOnEventArgs() { }
        public SourceDragOnEventArgs(String targetString, SourceDragOnType type)
        {
            this.targetString = targetString;
            this.type = type;
        }

        
    }
    public enum SourceDragOnType
    {
        Text,Link
    }
}
